package store

import (
	"context"
	"cs0512/fmr/pkg/model"
)

type UserStore interface {
	Create(ctx context.Context, userModel *model.User) error
	Update(ctx context.Context, userModel *model.User) error
	Delete(ctx context.Context, id int) error
	Get(ctx context.Context, id int) (*model.User, error)
	GetByUsername(ctx context.Context, username string) (*model.User, error)
	List(ctx context.Context, opts model.UserOptions) (*model.UserList, error)
}